package datastructure.array;

/**
 * @author XY
 * @version 1.0.0
 * @ClassName Leet303.java
 * @createTime 2022年03月11日 09:00:00
 */
public class Leet303 {

    int[] nums;

    public void Leet3031(int[] nums) {
        this.nums = nums;
    }

    public int sumRange1(int left, int right) {
        int res = 0;
        for (int i = left; i <= right; i++) {
            res+=nums[i] ;
        }
        return res;
    }

    //前缀和
    public Leet303(int[] nums) {
        this.nums=new int[nums.length+1];
        //数字每个元素表示该元素之前的所有元素的和,this.nums[0]=0 第一次计算
        for (int i = 0; i < nums.length; i++) {
            this.nums[i+1]=this.nums[i]+nums[i];
        }
    }

    public int sumRange(int left, int right) {
        return this.nums[right+1]-this.nums[left];
    }
}
